PROJECTS ?= $(wildcard ../../examples/pico-sdk/*-picosdk-*)
SDK_PATH ?= $(realpath $(PWD))/pico-sdk
SDK_VERSION ?= 2.0.0

all: $(PROJECTS)
	echo 

$(PROJECTS): pico-sdk FORCE
	(make -C $@ build SDK_PATH=$(SDK_PATH) && make -C $@ clean) || ( \
	ln -s $(SDK_PATH) $@/pico-sdk && \
	cd $@ && rm -rf build && mkdir -p build && \
	cd build && cmake -DPICO_BOARD=$(SDKBNAME) -G "Unix Makefiles" .. && make && \
	cd .. && rm -rf build pico-sdk )

FORCE:

pico-sdk:
	test -d $(SDK_PATH) || ( git clone --depth 1 -b $(SDK_VERSION) https://github.com/raspberrypi/pico-sdk $@ && \
	cd $@ && git submodule update --init )

clean:
	rm -rf $(SDK_PATH)

# Wizard-style board name --> Pico-SDK board name; SDKBNAME = table[BOARD]
SDK_evb-pico  := pico
SDK_evb-pico2 := pico2
SDKBNAME = $(SDK_$(BOARD))
